﻿__={ 
    name:"Fly",
    remark:""
    ,title:"Lightweight front-end framework",
version:"1.1",
site:"http://www.flyui.net",
source:"http://code.google.com/p/flyjs",
copy:"? 2011 Kuiyou Li",
classes:[{ 
    name:"fly",
    remark:""
    ,path:"fly",
properties:[{ 
    name:"BREAK",
    remark:"symbol:Stop to loop when break appear"
    ,type:"Stop"},
{ 
    name:"doc", 
    remark:"object"
    ,type:"document"},
{ 
    name:"body",
    remark:"object"
    ,type:"document.body"}],
methods:[{ 
    name:"$",
    remark:"Dom Query\r\n    Call way：\r\n    fly.$(\"a\",\"div\")\r\n    fly.$(\"a,div\")\r\n    fly(\"a,div\")\r\n    fly(\"a\",\"div\")\r\n    $(\"a\",\"div\")\r\n    $(\"a,div\")\r\n    [document].$(\"a,div\")\r\n    [div1,div2].$(\"a,div\")"
    ,args:[{ 
    name:"selectors",
    remark:"Any number of selectors(strings or elements)"
    ,type:"String/Dom"}],
ret:{ 
    name:"",
    remark:"Return eligible Dom object array"
    ,type:"Array"}},
{ 
    name:"ns",
    remark:"Create namespace"
    ,args:[{ 
    name:"namespace",
    remark:"namespace name，such as： fly.ui"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Namespace"}},
{ 
    name:"Class",
    remark:"Create Class"
    ,args:[{ 
    name:"options",
    remark:"Options"
    ,type:""}],
ret:{ 
    name:"",
    remark:""
    ,type:"Class"}},
{ 
    name:"extend",
    remark:"Extend"
    ,args:[{ 
    name:"target",
    remark:"object"
    ,type:"Extended"},{ 
    name:"overrides",
    remark:"parameters of any number of extended members"
    ,type:"Contains"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@target"}},
{ 
    name:"regPlugin",
    remark:"Register plugin"
    ,args:[{ 
    name:"name",
    remark:"plugin name"
    ,type:"String"},{ 
    name:"fn",
    remark:"plugin function"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"setup",
    remark:"Install fly to other window"
    ,args:[{ 
    name:"window",
    remark:"The target window to be installing"
    ,type:"Window"},{ 
    name:"match",
    remark:"The plugin which to install,if empty install all plugins"
    ,type:"match"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"safeExtend",
    remark:"Verify"
    ,args:[{ 
    name:"prefix",
    remark:"The string used to be Prefix"
    ,type:"String"},{ 
    name:"target",
    remark:"The Object to be extended"
    ,type:"Object"},{ 
    name:"overrides",
    remark:"Contains parameters of any number of extended members"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@target"}},
{ 
    name:"extendIf",
    remark:"Check if exists before extend"
    ,args:[{ 
    name:"target",
    remark:"to be extended"
    ,type:"Object"},{ 
    name:"overrides",
    remark:"Contains parameters of any number of extended members"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@target"}},
{ 
    name:"copy",
    remark:"Copy object"
    ,args:[{ 
    name:"obj",
    remark:"the original object"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"merge",
    remark:"Combine a group of objects to a new array object\r\n	    Example：var all=fly.merge(obj1,obj2,obj3,....,objn)"
    ,args:[{ 
    name:"params",
    remark:"Varible objects which be combind"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:"A new array object which contains a group of objects"
    ,type:"Object"}},
{ 
    name:"nullIf",
    remark:"check object is null,if it\'s null,return the appointed object"
    ,args:[{ 
    name:"chkObj",
    remark:"the object to be detected"
    ,type:"Object"},{ 
    name:"replacement",
    remark:"replacement when the chkObj is null"
    ,type:"returned"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"get",
    remark:"Get property"
    ,args:[{ 
    name:"obj",
    remark:"object"
    ,type:""},{ 
    name:"attribute",
    remark:"String Property name"
    ,type:""}],
ret:{ 
    name:"",
    remark:"Property value"
    ,type:"Object"}},
{ 
    name:"set",
    remark:"Set property"
    ,args:[{ 
    name:"obj",
    remark:"Object"
    ,type:""},{ 
    name:"attribute",
    remark:"String/Object Contains property name or keyValue that contains property name and property value"
    ,type:""},{ 
    name:"value",
    remark:"Object(not required) value"
    ,type:""}],
ret:{ 
    name:"",
    remark:""
    ,type:"@obj"}},
{ 
    name:"attr",
    remark:"Get or set property of the objects"
    ,args:[{ 
    name:"obj",
    remark:"objects which need to get or set attribute"
    ,type:"The"},{ 
    name:"prop",
    remark:"property name or a json object"
    ,type:"The"},{ 
    name:"value",
    remark:"value of the property"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:"the property value when value is empty or return fly object when value is not empty"
    ,type:"Return"}},
{ 
    name:"value",
    remark:"Get or set value of elements"
    ,args:[{ 
    name:"el",
    remark:"elements which need to get property value or set property value"
    ,type:"The"},{ 
    name:"value",
    remark:"it is null to get the value, otherwise set the new value"
    ,type:"If"}],
ret:{ 
    name:"",
    remark:"it is null to return the value,otherwise return fly object"
    ,type:"If"}},
{ 
    name:"setBy",
    remark:"Set property"
    ,args:[{ 
    name:"obj",
    remark:"Object"
    ,type:""},{ 
    name:"keyValues",
    remark:"Object Contains property name or keyValue that contains property name and property value"
    ,type:""}],
ret:{ 
    name:"",
    remark:""
    ,type:"@obj"}},
{ 
    name:"is",
    remark:"check object is instance of class or not"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"},{ 
    name:"type",
    remark:"name or value"
    ,type:"Class"}],
ret:{ 
    name:"",
    remark:"obj is the instance of type or obj equal type to return true,othorwise return false"
    ,type:"If"}},
{ 
    name:"isFun",
    remark:"Detect whether a value function"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isFunction",
    remark:"detect whether a value Function"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isDate",
    remark:"detect whether a value Date"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isNumber",
    remark:"detect whether a value Number"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isBoolean",
    remark:"detect whether a value Boolean"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isArray",
    remark:"detect whether a value Array"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isObject",
    remark:"detect whether a value Object"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isString",
    remark:"detect whether a value String"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isStr",
    remark:"detect whether a value String"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isHtml",
    remark:"Detect whether a value is html"
    ,args:[{ 
    name:"str",
    remark:"whether a value is string"
    ,type:"Detect"}],
ret:{ 
    name:"",
    remark:"the string is html,return true or false"
    ,type:"Whether"}},
{ 
    name:"likeArray",
    remark:"Detect if obj is Array"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:"obj is Array to return true,otherwise return false"
    ,type:"if"}},
{ 
    name:"isDom",
    remark:"Detect if obj is Dom"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"toArray",
    remark:"Convert obj to Array"
    ,args:[{ 
    name:"obj",
    remark:"object of detection"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array"}},
{ 
    name:"slice",
    remark:"Get a part of collection"
    ,args:[{ 
    name:"obj",
    remark:"object"
    ,type:"collection"},{ 
    name:"start",
    remark:"position"
    ,type:"start"},{ 
    name:"end",
    remark:"position"
    ,type:"end"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array"}},
{ 
    name:"each",
    remark:"Traverse an object"
    ,args:[{ 
    name:"obj",
    remark:"array object"
    ,type:"A"},{ 
    name:"fn",
    remark:""
    ,type:"Function"},{ 
    name:"scope",
    remark:""
    ,type:"scope"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"inArray",
    remark:"Detect whether an object in Array\r\n	    例	:fly.inArray(3,1,2,3,4,...,n),fly.inArray(3,[1,2,3,4])"
    ,args:[{ 
    name:"value",
    remark:"detected value"
    ,type:"The"},{ 
    name:"params",
    remark:"parameters,a group of object"
    ,type:"Variable"}],
ret:{ 
    name:"",
    remark:"the index of the detected value in params"
    ,type:"return"}},
{ 
    name:"emptyFun",
    remark:"Empty Function"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"falseFun",
    remark:"return flaseFun"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"false"}},
{ 
    name:"lambda",
    remark:"Package the object base on afferent parameters"
    ,args:[{ 
    name:"obj",
    remark:"obj is function to return obj，otherwise return a new function always return obj"
    ,type:"if"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Function"}},
{ 
    name:"toFun",
    remark:"if it\'s not function,then convert to function"
    ,args:[{ 
    name:"fun",
    remark:"or string"
    ,type:"Object/String/Functon"},{ 
    name:"onlyStr",
    remark:"only function is string then convert"
    ,type:"Boolean"},{ 
    name:"format",
    remark:""
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Function"}},
{ 
    name:"ifFun",
    remark:"If function return result"
    ,args:[{ 
    name:"obj",
    remark:""
    ,type:"Function/Object"},{ 
    name:"params",
    remark:"any number of variable parameters"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"format",
    remark:"$format which extend to selector object"
    ,args:[{ 
    name:"obj",
    remark:""
    ,type:"String/Date/Function"},{ 
    name:"params",
    remark:"number of variable parameters"
    ,type:"any"}],
ret:{ 
    name:"",
    remark:"formated result"
    ,type:"String/Function"}},
{ 
    name:"In",
    remark:"Detect whether an object in Array which the same as fly.inArray,\r\n    Example	:fly.In(3,1,2,3,4,...,n),fly.In(3,[1,2,3,4])"
    ,args:[{ 
    name:"value",
    remark:"value"
    ,type:"detected"},{ 
    name:"params",
    remark:"number of variable parameters"
    ,type:"any"}],
ret:{ 
    name:"",
    remark:"the index of value in Array"
    ,type:"return"}},
{ 
    name:"onLoad",
    remark:""
    ,args:[{ 
    name:"fu",
    remark:"Any number of varible parameters"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly"}},
{ 
    name:"ready",
    remark:"Bind multiple objects to  window.onload"
    ,args:[{ 
    name:"fu",
    remark:"Any number of varible parameters"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly"}},
{ 
    name:"onUnload",
    remark:"Bind multiple functions to window.onunload"
    ,args:[{ 
    name:"params",
    remark:"number of variable parameters"
    ,type:"Any"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly"}},
{ 
    name:"onBeforeUnload",
    remark:"Bind multiple functions window.onBeforeUnload"
    ,args:[{ 
    name:"params",
    remark:"Any number of variable parameters"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly"}}],
events:[]
},{ 
    name:"flyConfig",
    remark:""
    ,path:"flyConfig",
properties:[],
methods:[{ 
    name:"addAlias",
    remark:"Named to the fly library that you can use the named variable to access fly library\r\n    you can use the default variable $ like jquery or other variable\r\n    you can named the variable to the fly library before loading fly library\r\n\r\n    Example:\r\n\r\n    flyConfig={\r\n    alias:[\"myFly\",\"jimo\"]\r\n    }\r\n\r\n    Or call the addAlias function add a new name named for fly\r\n\r\n    Example:\r\n\r\n    fly.addAlias(\"myFly\",\"jimo\")\r\n    now you can access fly library\r\n\r\n    Usage：\r\n    myFly.$(\"a,div\")\r\n    myFly(\"a\",\"div\")\r\n    jimo.$(\"a\",\"div\")\r\n    jimo(\"a,div\")"
    ,args:[{ 
    name:"alias",
    remark:"Variable parameters，any number of alias name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly"}},
{ 
    name:"onLoad",
    remark:"Trigger callback function When fly library loaded \r\n\r\n    Example:\r\n\r\n    flyConfig={\r\n    alias:[\"myFly\",\"jimo\"],\r\n    onLoad:function(){\r\n    alert(\'fly has been loaded\')\r\n    }\r\n    }"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}}],
events:[]
},{ 
    name:"lib",
    remark:""
    ,path:"fly.lib",
properties:[],
methods:[],
events:[]
},{ 
    name:"Function",
    remark:"function extend"
    ,path:"fly.lib.Function",
properties:[],
methods:[{ 
    name:"where",
    remark:"Whether execute base on the condition"
    ,args:[{ 
    name:"predicate",
    remark:"whether to implement the expression, function or other objects"
    ,type:"determine"},{ 
    name:"args",
    remark:"number of variable parameters"
    ,type:"any"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Function"}},
{ 
    name:"bind",
    remark:"Bind scope"
    ,args:[{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"params",
    remark:"number of variable parameters"
    ,type:"any"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Function"}},
{ 
    name:"format",
    remark:"Formate parameters\r\n	    如：fn.$format(\'"
    ,args:[{ 
    name:"params",
    remark:""
    ,type:"String/Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Function"}},
{ 
    name:"inherit",
    remark:"Inherit"
    ,args:[{ 
    name:"base",
    remark:"class"
    ,type:"Base"},{ 
    name:"overrides",
    remark:"any number of extended members"
    ,type:"Contains"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"extend",
    remark:"Extend"
    ,args:[{ 
    name:"overrides",
    remark:"any number of extended members"
    ,type:"Contains"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}}],
events:[]
},{ 
    name:"Date",
    remark:"Data extend"
    ,path:"fly.lib.Date",
properties:[],
methods:[{ 
    name:"format",
    remark:"formate date"
    ,args:[{ 
    name:"format",
    remark:"date formate default: yyyy-MM-dd hh:mm:ss"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}}],
events:[]
},{ 
    name:"String",
    remark:"String Extend"
    ,path:"fly.lib.String",
properties:[],
methods:[{ 
    name:"format",
    remark:"format string\r\n	    Example:\r\n	    the result of \"a{0}b{1}\".format(\"-\",5) is \"a-b5\"\r\n			\r\n	    var option={id:123,name:\"fly\"};\r\n	    the result of \"a{0}b {name}\".format(\"-\",option) is \"a-b fly\"\r\n			\r\n	    var option={\r\n	    getId:function(){\r\n	    return 123\r\n	    }\r\n	    };\r\n	    the result of \"a{0}b {getId()}\".format(\"-\",option) is \"a-b 123\""
    ,args:[{ 
    name:"params",
    remark:"Any number of variable parameters"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"contains",
    remark:"If a string contains another string"
    ,args:[{ 
    name:"subStr",
    remark:"to be checked"
    ,type:"string"},{ 
    name:"ignoreCase",
    remark:""
    ,type:"ignoreCase"},{ 
    name:"separator",
    remark:""
    ,type:"separator"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"IndexOf",
    remark:"Get The index of substring"
    ,args:[{ 
    name:"subStr",
    remark:"substring"
    ,type:"The"},{ 
    name:"ignoreCase",
    remark:"case"
    ,type:"Ignore"},{ 
    name:"separator",
    remark:""
    ,type:"Separator"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Int"}},
{ 
    name:"startWith",
    remark:"Whether the specified string at the beginning of the string"
    ,args:[{ 
    name:"subStr",
    remark:"specified string"
    ,type:"The"},{ 
    name:"ignoreCase",
    remark:"case"
    ,type:"ignore"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"endWith",
    remark:"Whether the specified string at the end of the string"
    ,args:[{ 
    name:"subStr",
    remark:"specified string"
    ,type:"The"},{ 
    name:"ignoreCase",
    remark:"case"
    ,type:"ignore"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"trim",
    remark:"Trim empty string in string\'s left and right"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"trimLeft",
    remark:"Trim left empty string"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"trimRight",
    remark:"Trim right empty string"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"firstUpper",
    remark:"Uppercase first letter"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"repeat",
    remark:"Repeat the specified number of times"
    ,args:[{ 
    name:"count",
    remark:"number of times"
    ,type:"the"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"padLeft",
    remark:"Fill the specified number of times of char to string\'s left"
    ,args:[{ 
    name:"minLength",
    remark:"Mininum length"
    ,type:"Int"},{ 
    name:"_char",
    remark:"The char will be filled in"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"padRight",
    remark:"Fill the specified number of times of char to string\'s right"
    ,args:[{ 
    name:"minLength",
    remark:"Mininum length"
    ,type:"Int"},{ 
    name:"_char",
    remark:"The char will be filled in"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"camelCase",
    remark:"Convert a string to camel naming"
    ,args:[{ 
    name:"wordSplitChar",
    remark:"The separator of string"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}}],
events:[]
},{ 
    name:"Event",
    remark:"Event disposer"
    ,path:"fly.lib.Event",
properties:[],
methods:[{ 
    name:"on",
    remark:"Bind the event for the elements"
    ,args:[{ 
    name:"el",
    remark:"Any number of DOM object"
    ,type:"Object/Array<Object>"},{ 
    name:"eName",
    remark:"Any number of Event Name"
    ,type:"String/Array<String>"},{ 
    name:"fn",
    remark:"One or more Event handler"
    ,type:"Function/Array<Function>"},{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"data",
    remark:"parameters"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@el"}},
{ 
    name:"un",
    remark:"Cancel the Event for the elements"
    ,args:[{ 
    name:"el",
    remark:"Any number of DOM object"
    ,type:"Object/Array<Object>"},{ 
    name:"eName",
    remark:"Any number of Event Name"
    ,type:"String/Array<String>"},{ 
    name:"fn",
    remark:"One or more Event handler"
    ,type:"Function/Array<Function>"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@el"}},
{ 
    name:"fire",
    remark:"Trigger Event"
    ,args:[{ 
    name:"el",
    remark:"Any number of DOM object"
    ,type:"Object/Array<Object>"},{ 
    name:"eName",
    remark:"Any number of Event Name"
    ,type:"String/Array<String>"},{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"args",
    remark:""
    ,type:"parameters"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@el"}},
{ 
    name:"stop",
    remark:"Stop the propagation of event and prevent the default event of the elements"
    ,args:[],
ret:{ 
    name:"",
    remark:"false"
    ,type:"Boolean"}},
{ 
    name:"createEventFn",
    remark:"Create custom event"
    ,args:[{ 
    name:"eName",
    remark:"Event Name"
    ,type:"String"},{ 
    name:"fire",
    remark:"Event handler"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:"Additional functions or respond to events"
    ,type:"Function"}},
{ 
    name:"registEvent",
    remark:"Register events for Dom object"
    ,args:[{ 
    name:"obj",
    remark:"which be waitting to register events"
    ,type:"Object"},{ 
    name:"eventNames",
    remark:"Any number of registered event\'s names"
    ,type:"Array"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.lib.Event"}},
{ 
    name:"eventAble",
    remark:"Make the object with the event management mechanism"
    ,args:[{ 
    name:"obj",
    remark:"In addition to any value type object"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.lib.Event"}}],
events:[]
},{ 
    name:"Json",
    remark:"Json tool"
    ,path:"fly.lib.Json",
properties:[{ 
    name:"urlDecode",
    remark:"the string that after url encoded to Json object"
    ,type:"Decode"}],
methods:[{ 
    name:"encodeArray",
    remark:"Encode array"
    ,args:[{ 
    name:"o",
    remark:"array"
    ,type:"Array"},{ 
    name:"jsonEncode",
    remark:"Whether json format or not"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"encodeDate",
    remark:"Encode datetime"
    ,args:[{ 
    name:"o",
    remark:"datetime object"
    ,type:"Date"},{ 
    name:"jsonEncode",
    remark:"Whether json format or not"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"encode",
    remark:"Encode object"
    ,args:[{ 
    name:"o",
    remark:"Which need to be encode"
    ,type:"object"},{ 
    name:"jsonEncode",
    remark:"Whether json format or not"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"decode",
    remark:"Eecode string"
    ,args:[{ 
    name:"json",
    remark:"Object which need to be decode"
    ,type:"json"}],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"urlEncode",
    remark:"Encode the Json object to string that after url encoded"
    ,args:[{ 
    name:"json",
    remark:"The object to be encode"
    ,type:"Object"},{ 
    name:"memberToParam",
    remark:"Whether encoding members to parameters"
    ,type:"Boolean"},{ 
    name:"prefix",
    remark:"prefix"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"encoded string"
    ,type:"String"}},
{ 
    name:"each",
    remark:"Traverse object"
    ,args:[{ 
    name:"json",
    remark:""
    ,type:"object"},{ 
    name:"action",
    remark:"Handler function"
    ,type:"Function"},{ 
    name:"params",
    remark:"Any number of variable parameters"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@json"}},
{ 
    name:"map",
    remark:"Convert result to array"
    ,args:[{ 
    name:"json",
    remark:""
    ,type:"array"},{ 
    name:"evaluator",
    remark:"Eval handler"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"Required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array"}}],
events:[]
},{ 
    name:"ajax",
    remark:""
    ,path:"fly.ajax",
properties:[],
methods:[],
events:[]
},{ 
    name:"Helper",
    remark:"HTTP request to load remote data\r\n    usage:\r\n    {\r\n    url     :String requst url\r\n    method  :String request method(get or post) default get\r\n    async   :Boolean    Whether asynchronous(default true)\r\n    dataHandler:Function    handle the return data then return handled data\r\n    charset :String encode,default:GB2312\r\n    username:String username,verify for server \r\n    password:String pwd,verify for server \r\n    timeout :Int    Timeout(millisecond)\r\n    data    :Json/String   the data send to server\r\n    }\r\n\r\n    call:\r\n\r\n    var helper=new fly.ajax.Helper({\r\n    url:\'http://www.flyui.net/a.php\',\r\n    method:\'get\',\r\n    success:function(){\r\n    alert(\'Request successful!\')\r\n    }\r\n    })\r\n    helper.go();\r\n\r\n    ------------------------------------------\r\n    var helper=new fly.ajax.Helper()\r\n    helper.setup({\r\n    url:\'http://www.flyui.net/a.php\',\r\n    method:\'get\',\r\n    success:function(){\r\n    alert(\'Request successful!\')\r\n    }\r\n    })\r\n    helper.go();\r\n\r\n    ------------------------------------------\r\n    fly.get(\'http://www.flyui.net/a.php\',function(){\r\n    alert(\'Request successful!\')\r\n    });\r\n\r\n    ------------------------------------------\r\n    fly.post(\'http://www.flyui.net/a.php\',function(){\r\n    alert(\'Request successful!\')\r\n    });\r\n\r\n    ------------------------------------------\r\n    var helper=fly.ajax.url(\'http://www.flyui.net/a.php\').method(\'get\').onSuccess(function(){\r\n    alert(\'Request successful!\')\r\n    }).go();\r\n            \r\n    ------------------------------------------\r\n    var helper=fly.ajax.url(\'http://www.flyui.net/a.php\').onSuccess(function(){\r\n    alert(\'Request successful!\')\r\n    }).get();"
    ,path:"fly.ajax.Helper",
properties:[{ 
    name:"",
    remark:"handler the data of the server\'response to create a new data"
    ,type:"Function"},
{ 
    name:"contentType",
    remark:"default:application/x-www-form-urlencoded"
    ,type:"String"},
{ 
    name:"",
    remark:"username verify in server"
    ,type:"String"},
{ 
    name:"password",
    remark:"password,verify in server"
    ,type:"String"},
{ 
    name:"timeout",
    remark:"Timeout(millisecond)"
    ,type:"Int"},
{ 
    name:"data",
    remark:"the data send to server"
    ,type:"Json/String"}],
methods:[{ 
    name:"url",
    remark:"set request url"
    ,args:[{ 
    name:"url",
    remark:"address"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"method",
    remark:"Set request method"
    ,args:[{ 
    name:"method",
    remark:"Get or post,default:get"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"async",
    remark:"set whether async request"
    ,args:[{ 
    name:"async",
    remark:"Whether async,default:true"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"dataHandler",
    remark:"set the return function when requst the server data"
    ,args:[{ 
    name:"dataHandler",
    remark:"handler function"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"contentType",
    remark:"set HTTP header:contentType"
    ,args:[{ 
    name:"contentType",
    remark:"default:application/x-www-form-urlencoded"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"charset",
    remark:"set HTTP header:charset"
    ,args:[{ 
    name:"charset",
    remark:"encode,default:GB2312"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"username",
    remark:"set username verify in server"
    ,args:[{ 
    name:"username",
    remark:"username"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"password",
    remark:"set password verify in server"
    ,args:[{ 
    name:"password",
    remark:"password"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"timeout",
    remark:"set Timeout(millisecond)"
    ,args:[{ 
    name:"timeout",
    remark:"Timeout(millisecond)"
    ,type:"Int"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"data",
    remark:"set the data send to server"
    ,args:[{ 
    name:"data",
    remark:"the data send to server"
    ,type:"Json"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"setup",
    remark:"Re-config ajax option"
    ,args:[{ 
    name:"option",
    remark:"Contain detailed configuration of Json object"
    ,type:"Json"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"get",
    remark:"Send a request to server using “get” method"
    ,args:[{ 
    name:"url",
    remark:"request url"
    ,type:"String"},{ 
    name:"data",
    remark:"required) the data send to server"
    ,type:"Json(not"},{ 
    name:"success",
    remark:"required)   the callback function when request success"
    ,type:"Function(not"},{ 
    name:"error",
    remark:"required)   the callback function when failed"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:"When the synchronization request is to return the server output, asynchronous call is to return an instance of the current fly.ajax.Helper instance"
    ,type:"Object/this"}},
{ 
    name:"post",
    remark:"Send a request to server using “post” method"
    ,args:[{ 
    name:"url",
    remark:"request url"
    ,type:"String"},{ 
    name:"data",
    remark:"required) the data send to server"
    ,type:"Json(not"},{ 
    name:"success",
    remark:"required)   the callback function when request success"
    ,type:"Function(not"},{ 
    name:"error",
    remark:"required)   the callback function when failed"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:"When the synchronization request is to return the server output, asynchronous call is to return an instance of the current fly.ajax.Helper instance"
    ,type:"Object/this"}},
{ 
    name:"go",
    remark:"Send request to server"
    ,args:[{ 
    name:"url",
    remark:"request url"
    ,type:"String"},{ 
    name:"data",
    remark:"required) the data send to server"
    ,type:"Json(not"},{ 
    name:"success",
    remark:"required)   the callback function when request success"
    ,type:"Function(not"},{ 
    name:"error",
    remark:"required)   the callback function when failed"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:"When the synchronization request is to return the server output, asynchronous call is to return an instance of the current fly.ajax.Helper instance"
    ,type:"Object/this"}},
{ 
    name:"loadScript",
    remark:"\" :\r\n				ajax.Accepts._default);\r\n 	        var c = this.createContext()\r\n 	        conn.onreadystatechange = c.stateChange;\r\n 	        if (this.fire(\"send\", this, conn, o) === false) return this\r\n 	        if (o.timeout > 0) {\r\n 	            var startT = new Date()\r\n 	            var h = setInterval(function () {\r\n 	                if (c.isComplete)\r\n 	                    clearInterval(h)\r\n 	                else if ((new Date() - startT) >= o.timeout) {\r\n 	                    clearInterval(h)\r\n 	                    c.isTimeout = \"timeout\"\r\n 	                    c.conn.abort()\r\n 	                }\r\n 	            }, 60);\r\n 	        }\r\n\r\n 	        conn.send(isGet ? null : o.dataEncode);\r\n 	        if (!o.async) {\r\n 	            c.stateChange()\r\n 	            return this.getContent()\r\n 	        }\r\n 	        return this\r\n 	    },\r\n 	    createContext: function () {\r\n 	        var context = { conn: this.connection, option: this.option, data: undefined, errMsg: undefined }\r\n 	        var me = this, c = context;\r\n 	        c.complete = function () {\r\n 	            me.fire(\"complete\", this, c.conn, c.data, c.option.status);\r\n 	            me.fire(\"stop\", this, c.conn, c.option);\r\n 	        }\r\n\r\n 	        c.stateChange = function () {\r\n 	            me.fire(\"readystatechange\", this, c.conn)\r\n 	            if (!c.conn || c.conn.readyState === 0 || c.isTimeout === \"abort\") {\r\n 	                if (!context.isComplete)\r\n 	                    c.complete();\r\n\r\n 	                c.isComplete = true;\r\n 	                if (c.conn)\r\n 	                    c.conn.onreadystatechange = $.emptyFun;\r\n 	            }\r\n\r\n 	            if (!c.isComplete && c.conn && (c.conn.readyState === 4 || c.isTimeout == \"timeout\")) {\r\n 	                context.isComplete = true;\r\n 	                c.conn.onreadystatechange = $.emptyFun;\r\n 	                c.option.status = c.isTimeout === \"timeout\" ?\r\n					    \"timeout\" :\r\n					    !ajax.isSuccess(c.conn) ? \"error\" : \"success\";\r\n\r\n 	                if (c.option.status === \"success\") {\r\n 	                    try {\r\n 	                        c.data = me.getContent();\r\n 	                    } catch (ex) {\r\n 	                        c.option.status = \"parsererror\";\r\n 	                        errMsg = ex;\r\n 	                    }\r\n 	                }\r\n\r\n 	                if (c.option.status === \"success\" || c.option.status === \"notmodified\")\r\n 	                    me.fire(\"success\", me, c.data, c.option.status, c.conn)\r\n 	                else\r\n 	                    me.fire(\"error\", me, c.conn, c.option.status, c.errMsg)\r\n\r\n 	                c.complete()\r\n 	            }\r\n 	        }\r\n 	        return c;\r\n 	    },\r\n 	    /"
    ,args:[{ 
    name:"url",
    remark:"url"
    ,type:"file"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"getContent",
    remark:"Output from the server"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"Object"}}],
events:[{ 
    name:"onStart",
    remark:"Execute before the beginning of Ajax request, return false to cancel the request"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onError",
    remark:"Execute when Ajax request error"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onSuccess",
    remark:"Execute when Ajax request success。"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onComplete",
    remark:"Execute when Ajax request complete"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onSend",
    remark:"Execute before Ajax request send data,return false cancel the request"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onStop",
    remark:"Execute when Ajax request stop"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onReadystatechange",
    remark:"Execute when Ajax is requesting and server has respond"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}}]
},{ 
    name:"Cookie",
    remark:"Cookie Tools"
    ,path:"fly.lib.Cookie",
properties:[],
methods:[{ 
    name:"set",
    remark:"Set Cookie"
    ,args:[{ 
    name:"name",
    remark:"cookie name"
    ,type:"String"},{ 
    name:"value",
    remark:"cookie value"
    ,type:"String"},{ 
    name:"expires",
    remark:"expiry date"
    ,type:"Date"},{ 
    name:"path",
    remark:"path"
    ,type:"String"},{ 
    name:"domain",
    remark:"scope"
    ,type:"String"},{ 
    name:"secure",
    remark:""
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.lib.Cookie"}},
{ 
    name:"get",
    remark:"Get Cookie"
    ,args:[{ 
    name:"path",
    remark:"path"
    ,type:"String"},{ 
    name:"name",
    remark:"cookie name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"cookie value"
    ,type:"String"}},
{ 
    name:"remove",
    remark:"Delete Cookie"
    ,args:[{ 
    name:"name",
    remark:"cookie name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.lib.Cookie"}}],
events:[]
},{ 
    name:"ui",
    remark:""
    ,path:"fly.ui",
properties:[],
methods:[],
events:[]
},{ 
    name:"Style",
    remark:"CSS tools"
    ,path:"fly.ui.Style",
properties:[],
methods:[{ 
    name:"loadCss",
    remark:"Load CSS"
    ,args:[{ 
    name:"url",
    remark:"CSS filepath"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"link element"
    ,type:"Element"}},
{ 
    name:"createStyleSheet",
    remark:"Create CSS"
    ,args:[{ 
    name:"cssText",
    remark:"CSS content"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"style element"
    ,type:"Element"}},
{ 
    name:"createCssRule",
    remark:"Create CSS class"
    ,args:[{ 
    name:"sheet",
    remark:"required) CSS element"
    ,type:"StyleSheet(not"},{ 
    name:"name",
    remark:"CSS class name"
    ,type:"String"},{ 
    name:"cssText",
    remark:"CSS content"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"CSS class"
    ,type:"StyleSheetRule"}},
{ 
    name:"currentStyle",
    remark:"Get the current style of elements"
    ,args:[{ 
    name:"el",
    remark:""
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"currentStyle"}},
{ 
    name:"checkValue",
    remark:"Detect style value"
    ,args:[{ 
    name:"name",
    remark:"style name"
    ,type:"String"},{ 
    name:"value",
    remark:"style value"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:"the treated property value"
    ,type:"Object"}},
{ 
    name:"get",
    remark:"Get element style"
    ,args:[{ 
    name:"el",
    remark:"The element need to get css"
    ,type:"Element"},{ 
    name:"name",
    remark:"css name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"css value"
    ,type:"String"}},
{ 
    name:"num",
    remark:"Get the number of the elements which name is the value of the paratemter \'name\'"
    ,args:[{ 
    name:"el",
    remark:"The element need to get style"
    ,type:"Element"},{ 
    name:"name",
    remark:"Style name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"Style value"
    ,type:"Number"}},
{ 
    name:"set",
    remark:"set element style"
    ,args:[{ 
    name:"el",
    remark:"The element need to get style"
    ,type:"Element"},{ 
    name:"name",
    remark:"Style name"
    ,type:"String"},{ 
    name:"value",
    remark:"Style value"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.ui.Style"}}],
events:[]
},{ 
    name:"DomHelper",
    remark:"Dom tools"
    ,path:"fly.ui.DomHelper",
properties:[],
methods:[{ 
    name:"getUniqueID",
    remark:"Get unique ID for element"
    ,args:[{ 
    name:"el",
    remark:"Dom element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"Element ID"
    ,type:"Int"}},
{ 
    name:"create",
    remark:"Create a DOM element according to Html"
    ,args:[{ 
    name:"html",
    remark:"html content"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"DOM elements are created"
    ,type:"Element/Array<Element>"}},
{ 
    name:"doInsert",
    remark:"Insert object"
    ,args:[{ 
    name:"pos",
    remark:"insert position(beforeBegin,afterBegin,beforeEnd,afterEnd)"
    ,type:"String"},{ 
    name:"parent",
    remark:"parent element"
    ,type:"Element"},{ 
    name:"child",
    remark:"child element"
    ,type:"Element/Array<Element>"},{ 
    name:"returnDom",
    remark:"Whether to return DOM element"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:"if returnDom equal true to return DOM element,otherwise return the element\'s collection"
    ,type:"Element/Array"}},
{ 
    name:"insertBefore",
    remark:"Inserted before the element object"
    ,args:[{ 
    name:"el",
    remark:"Inserted before the element object"
    ,type:"Element"},{ 
    name:"child",
    remark:"To insert one or more of Dom elements"
    ,type:"Element/Array<Element>"},{ 
    name:"returnDom",
    remark:"Whether to return DOM elements"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:"returnDom  is equal to true to return DOM object, otherwise returns a collection containing the elements"
    ,type:"Element/Array"}},
{ 
    name:"insertAfter",
    remark:"Inserted after the element object"
    ,args:[{ 
    name:"el",
    remark:"Inserted after the element object"
    ,type:"Element"},{ 
    name:"child",
    remark:"To insert one or more of Dom elements"
    ,type:"Element/Array<Element>"},{ 
    name:"returnDom",
    remark:"Whether to return DOM elements"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:"returnDom  is equal to true to return DOM object, otherwise returns a collection containing the elements"
    ,type:"Element/Array"}},
{ 
    name:"insertFirst",
    remark:"Insert the object in the element start"
    ,args:[{ 
    name:"el",
    remark:"Insert the object in the element start"
    ,type:"Element"},{ 
    name:"child",
    remark:"To insert one or more of Dom elements"
    ,type:"Element/Array<Element>"},{ 
    name:"returnDom",
    remark:"Whether to return DOM elements"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:"returnDom  is equal to true to return DOM object, otherwise returns a collection containing the elements"
    ,type:"Element/Array"}},
{ 
    name:"append",
    remark:"An element attached to the end of an object"
    ,args:[{ 
    name:"el",
    remark:"An element attached to the end of an object"
    ,type:"Element"},{ 
    name:"child",
    remark:"To insert one or more of Dom elements"
    ,type:"Element/Array<Element>"},{ 
    name:"returnDom",
    remark:"Whether to return DOM elements"
    ,type:"Boolean"}],
ret:{ 
    name:"",
    remark:"returnDom  is equal to true to return DOM object, otherwise returns a collection containing the elements"
    ,type:"Element/Array"}},
{ 
    name:"children",
    remark:"Get child elements of the Dom，not contains #text"
    ,args:[{ 
    name:"child",
    remark:"obtain the child elements of the Dom element"
    ,type:"To"}],
ret:{ 
    name:"",
    remark:"All child elements of the element"
    ,type:"Array"}},
{ 
    name:"moveContent",
    remark:"Move content to another element"
    ,args:[{ 
    name:"from",
    remark:"Move all content to another element"
    ,type:"Element"},{ 
    name:"to",
    remark:"Element is to be moved"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.ui.DomHelper"}},
{ 
    name:"empty",
    remark:"clear element content"
    ,args:[{ 
    name:"el",
    remark:"clear element content"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"fly.ui.DomHelper"}},
{ 
    name:"changeClass",
    remark:"Change CSS style\r\n        Call Example：\r\n        var cls=fly.simple.changeCss(document.body,\"css-blue css-red\",\"css-yellow\")\r\n        Remove document.body the css-blue and css-red style，add css-yellow style to document.body\r\n                \r\n        var oldCls=\"css-gray css-blue css-red\"\r\n        var cls=fly.simple.changeCss(oldCls,\"css-blue css-red\",\"css-yellow\")\r\n        Remove oldCls,css-blue and css-red style，add css-yellow style\r\n        Call result cls equal“css-gray css-yellow”\r\n\r\n        Note：\r\n        The method is to add after the implementation of remove, if the same patterns appear in both removeCss and addCss parameters, the style was eventually added, \r\n        such as:\r\n        var oldCls=\"css-gray a b\"\r\n        var cls=fly.simple.changeCss(oldCls,\"a b\",\"b\")\r\n        To remove the a and b in oldCls style, then add b style\r\n        Call result cls equal “css-gray b”"
    ,args:[{ 
    name:"el",
    remark:"To change the style of the DOM object or string"
    ,type:"Element/String"},{ 
    name:"removeCss",
    remark:"To remove a style, a number of styles are separated by spaces"
    ,type:"String"},{ 
    name:"addCss",
    remark:"To additional style, a number of styles are separated by spaces"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"After the change of style"
    ,type:"String"}},
{ 
    name:"addClass",
    remark:"Add CSS style"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"},{ 
    name:"css",
    remark:"additional style"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"After the change of style"
    ,type:"String"}},
{ 
    name:"removeClass",
    remark:"Remove CSS style"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"},{ 
    name:"css",
    remark:"To remove the name of style"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"After the change of style"
    ,type:"String"}},
{ 
    name:"hasClass",
    remark:"Whether to include the name of a CSS"
    ,args:[{ 
    name:"el",
    remark:"DOM Element"
    ,type:"Element"},{ 
    name:"css",
    remark:"To detect the CSS name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"clone",
    remark:"clone elements"
    ,args:[{ 
    name:"el",
    remark:"To clone the element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"The new element to be cloned"
    ,type:"Element"}},
{ 
    name:"toHtml",
    remark:"Converted to HTML"
    ,args:[{ 
    name:"el",
    remark:"Html Element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"HTML elements"
    ,type:"String"}},
{ 
    name:"contains",
    remark:"Detect whether the element contains another element"
    ,args:[{ 
    name:"parent",
    remark:"parent element"
    ,type:"Element"},{ 
    name:"child",
    remark:"child element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"When the parent contains the child returns true, otherwise returns false"
    ,type:"Boolean"}},
{ 
    name:"focusable",
    remark:"Detect whether an element can get the focus"
    ,args:[{ 
    name:"el",
    remark:"To detect the elements"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"Can get the focus returns true, otherwise returns false"
    ,type:"Boolean"}},
{ 
    name:"tabbable",
    remark:"Detect the element whether to accept the Tab key"
    ,args:[{ 
    name:"el",
    remark:"To detect the elements"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"Can get the focus returns true,otherwise returns false"
    ,type:"Boolean"}},
{ 
    name:"isVisible",
    remark:"Detect element is visible"
    ,args:[{ 
    name:"el",
    remark:"DOM Element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isDisplay",
    remark:"Detect element is display"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"isHidden",
    remark:"Detect element is hidden"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"tabIndex",
    remark:"Get the tabindex of element"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Int"}},
{ 
    name:"unSelection",
    remark:"Cancel the selection of the page"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"rect",
    remark:"Get element\'s location and size in the page"
    ,args:[{ 
    name:"el",
    remark:"DOM element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:"Json object that element in the page  contains the location and size information"
    ,type:"Json"}}],
events:[]
},{ 
    name:"collection",
    remark:""
    ,path:"fly.collection",
properties:[],
methods:[],
events:[]
},{ 
    name:"IList",
    remark:"Extend collection object"
    ,path:"fly.collection.IList",
properties:[{ 
    name:"$type",
    remark:"original type"
    ,type:"Class"},
{ 
    name:"isIList",
    remark:"fly.collection.IList symbol"
    ,type:"Boolean"},
{ 
    name:"before",
    remark:"content before each element"
    ,type:"Insert"},
{ 
    name:"after",
    remark:"content after each element"
    ,type:"Insert"},
{ 
    name:"insertBefore",
    remark:"all of the matched elements to another specified collection of elements"
    ,type:"Insert"},
{ 
    name:"insertAfter",
    remark:"all of the matched elements to another specified element"
    ,type:"Insert"},
{ 
    name:"end",
    remark:"of the recent \"destructive\"operation, to return to the list of elements that match a previous state"
    ,type:"End"},
{ 
    name:"constructor",
    remark:",step,start,end,achieve,target"
    ,type:"speed"}],
methods:[{ 
    name:"extend",
    remark:"extend fly.collection.IList member"
    ,args:[{ 
    name:"name",
    remark:"member name or contains keyValue several members"
    ,type:"String/Json"},{ 
    name:"v",
    remark:"member"
    ,type:"Function/Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"$create",
    remark:"Create new instance"
    ,args:[{ 
    name:"arr",
    remark:"The initial element"
    ,type:"Array"}],
ret:{ 
    name:"",
    remark:"IList new object"
    ,type:"IList"}},
{ 
    name:"getItems",
    remark:"Get the object can traverse"
    ,args:[{ 
    name:"obj",
    remark:"you pass the parameters to obtain the object can be traversed, otherwise return the current object can traverse"
    ,type:"If"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array"}},
{ 
    name:"updateLength",
    remark:"Update length"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"item",
    remark:"Get the specified item\'s location"
    ,args:[{ 
    name:"index",
    remark:"index starts at 0"
    ,type:"Int"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Object"}},
{ 
    name:"selectMany",
    remark:"Generate a new IList object,each of the items will be combined"
    ,args:[{ 
    name:"evaluator",
    remark:""
    ,type:"evaluator"},{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"params",
    remark:"required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"selectNotNull",
    remark:"Generate a new IList object,null values ??ignored"
    ,args:[{ 
    name:"evaluator",
    remark:""
    ,type:"evaluator"},{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"params",
    remark:"required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"select",
    remark:"Generate a new IList object"
    ,args:[{ 
    name:"evaluator",
    remark:""
    ,type:"evaluator"},{ 
    name:"scope",
    remark:""
    ,type:"scope"},{ 
    name:"params",
    remark:"required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"take",
    remark:"Return a specified number of consecutive elements from the beginning of the sequence"
    ,args:[{ 
    name:"count",
    remark:"get the number can be negative integers\r\n        isAssending	: Boolean Is ascending"
    ,type:"int"},{ 
    name:"predicate",
    remark:"Each element is used to test the function satisfy the condition"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"each",
    remark:"Traversal all items"
    ,args:[{ 
    name:"action",
    remark:"Processing a callback function for each"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"uniquelize",
    remark:"Get a collection of non-repetition\r\n        comparer:Function A comparer that compare the value"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"notIn",
    remark:"Get the elements not in the specified collection"
    ,args:[{ 
    name:"list",
    remark:"element used to compare"
    ,type:"Another"},{ 
    name:"comparer",
    remark:"a comparer that used to compare value"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"intersect",
    remark:"Get the intersection of two collection"
    ,args:[{ 
    name:"list",
    remark:"collection is used to find intersection"
    ,type:"Another"},{ 
    name:"comparer",
    remark:"a comparer that used to compare value"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:"the intersection of two collection"
    ,type:"IList"}},
{ 
    name:"toJSON",
    remark:"Convert to json"
    ,args:[{ 
    name:"keySelector",
    remark:"Function that get key from each element"
    ,type:"Function"},{ 
    name:"valueSelector",
    remark:"Convered function that produce result from each element\r\n        return :Json"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"on",
    remark:"Add an event for each item"
    ,args:[{ 
    name:"eNames",
    remark:"One or more event type"
    ,type:"Object/Array<Object>"},{ 
    name:"actions",
    remark:"One or more callback functions"
    ,type:"Function/Array<Function>"},{ 
    name:"data",
    remark:"data to be passed"
    ,type:"The"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"un",
    remark:"Unload events for each\r\n        eNames	:Object/Array<Object>  One or more event type\r\n        actions	:Function/Array<Function> One or more callback functions"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"fire",
    remark:"Unload events for each\r\n        eNames	:Object/Array<Object> One or more event type\r\n        actions	:Function/Array<Function>  One or more callback functions"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"sort",
    remark:"Sort"
    ,args:[{ 
    name:"dir",
    remark:"Sort direction,false,\"DESC\" indicate descending,others indicate ascending"
    ,type:"Boolean/String"},{ 
    name:"compare",
    remark:"Sort comparison rules, can be a field name, can be a function"
    ,type:"Object/Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"add",
    remark:"Add after the collection"
    ,args:[{ 
    name:"item",
    remark:"To add a new item"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"addRange",
    remark:"Batch add after the collection"
    ,args:[{ 
    name:"items",
    remark:"Object To add a new item"
    ,type:"Array"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"insert",
    remark:"Insert"
    ,args:[{ 
    name:"index",
    remark:"Insert the target position (from 0)"
    ,type:"Int"},{ 
    name:"items",
    remark:"required) To insert any number of items"
    ,type:"Array(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"remove",
    remark:"Delete"
    ,args:[{ 
    name:"index",
    remark:"Delete the target position (from 0)"
    ,type:"Int"},{ 
    name:"items",
    remark:"required) To delete any number of items"
    ,type:"Array(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"indexOf",
    remark:"Search the index of the first match in the collection"
    ,args:[{ 
    name:"value",
    remark:"value"
    ,type:"Search"},{ 
    name:"startIndex",
    remark:"Start position"
    ,type:"Int"},{ 
    name:"endIndex",
    remark:"End position"
    ,type:"Int"},{ 
    name:"comparer",
    remark:"A comparer that used to compare value"
    ,type:"Function/String/Object"}],
ret:{ 
    name:"",
    remark:"If you find the item of the first match, compared to the zero-based index,otherwise -1"
    ,type:"Int"}},
{ 
    name:"lastIndexOf",
    remark:"Search for the index of the last match in the collection"
    ,args:[{ 
    name:"value",
    remark:"value of search"
    ,type:"The"},{ 
    name:"startIndex",
    remark:"Start postion"
    ,type:"Int"},{ 
    name:"comparer",
    remark:"A comparer that used to compare to value"
    ,type:"Function/String/Object"}],
ret:{ 
    name:"",
    remark:"If you find an item\'s final match, compared to the zero-based index,otherwise -1"
    ,type:"Int"}},
{ 
    name:"findIndex",
    remark:"//"
    ,args:[{ 
    name:"predicate",
    remark:"Each element is used to test the function satisfy the condition\r\n        //"
    ,type:"Function/String/Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"findLastIndex",
    remark:"//"
    ,args:[{ 
    name:"predicate",
    remark:"Each element is used to test the function satisfy the condition\r\n        //"
    ,type:"Function/String/Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"contains",
    remark:"Detect value exists in collection"
    ,args:[{ 
    name:"value",
    remark:"value of search"
    ,type:"The"},{ 
    name:"startIndex",
    remark:"Start position"
    ,type:"Int"},{ 
    name:"comparer",
    remark:"A comparer that used to compare to value"
    ,type:"Function/String/Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"copyTo",
    remark:"Copied to the new array"
    ,args:[{ 
    name:"index",
    remark:"Insert the target position (from 0)"
    ,type:"Int"},{ 
    name:"arr",
    remark:"Copied to the array, empty array will generate a new array"
    ,type:"Array"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@arr"}},
{ 
    name:"copy",
    remark:"Copy"
    ,args:[{ 
    name:"index",
    remark:"Insert the target position (from 0)"
    ,type:"Int"},{ 
    name:"arr",
    remark:"Copied to the array, empty array will generate a new array"
    ,type:"Array"}],
ret:{ 
    name:"",
    remark:""
    ,type:"@arr"}},
{ 
    name:"merge",
    remark:"Combine multiple objects"
    ,args:[{ 
    name:"params",
    remark:"number of variable parameters"
    ,type:"Any"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"setAttr",
    remark:"Set object properties"
    ,args:[{ 
    name:"properties",
    remark:"Contains serveral properties and keyValue"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"css",
    remark:"Get or set property of the object, only the name parameter is to get the property value"
    ,args:[{ 
    name:"name",
    remark:"Property name or property to be applied to the object keys and values ?"
    ,type:"String"},{ 
    name:"value",
    remark:"required) Css property value"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"data",
    remark:"Get or set the object\'s attribute, only the name parameter is passed, to get the property value"
    ,args:[{ 
    name:"name",
    remark:"Property name or to apply to the key and value object property"
    ,type:"String"},{ 
    name:"value",
    remark:"required) Property value"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"attr",
    remark:"Get or set the object\'s attribute, only the name parameter is passed, to get the property value."
    ,args:[{ 
    name:"name",
    remark:"Property name or to apply to the key and value object property"
    ,type:"String"},{ 
    name:"value",
    remark:"required) Property value"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"removeAttr",
    remark:"Remove the object property"
    ,args:[{ 
    name:"name",
    remark:"To remove the attribute name"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"values",
    remark:"Get or set multiple element value"
    ,args:[{ 
    name:"values",
    remark:"required) Set the value to more than one element, empty to get the element\'s value"
    ,type:"KeyValue(not"},{ 
    name:"ignoreDisabled",
    remark:"elements are ignored"
    ,type:"Disabled"}],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"value",
    remark:"Get or set value"
    ,args:[{ 
    name:"value",
    remark:"The new value"
    ,type:"Object"}],
ret:{ 
    name:"",
    remark:"When you do not specify value parameter,then return value of the first element, specify the value parameter returns the current object"
    ,type:"Object/this"}},
{ 
    name:"serialize",
    remark:"Values ??of all elements set url encoding"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"hasChild",
    remark:"Whether the specified element is child elements of the current element"
    ,args:[{ 
    name:"child",
    remark:"child element"
    ,type:"Selector/Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"hasParent",
    remark:"The specified element is the parent element of the current"
    ,args:[{ 
    name:"parent",
    remark:"parent element"
    ,type:"Selector/Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"changeClass",
    remark:"To change the style of each"
    ,args:[{ 
    name:"removeCss",
    remark:"To remove a style, a number of styles are separated by spaces"
    ,type:"String"},{ 
    name:"addCss",
    remark:"To append the style, many styles are separated by spaces"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:"After the change of style"
    ,type:"String"}},
{ 
    name:"addClass",
    remark:"Add a CSS style for each"
    ,args:[{ 
    name:"css",
    remark:"Add the new css"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"removeClass",
    remark:"Remove the CSS styles for each"
    ,args:[{ 
    name:"css",
    remark:"To remove the name of style"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"hasClass",
    remark:"Whether to include an style name of the first item"
    ,args:[{ 
    name:"css",
    remark:"The CSS name is to be detected"
    ,type:"String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"toHtml",
    remark:"Convert to HTML"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"String"}},
{ 
    name:"clone",
    remark:"Clone element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"Element"}},
{ 
    name:"rect",
    remark:"Get the first element in the location and size of the page"
    ,args:[],
ret:{ 
    name:"",
    remark:"Elements in the page that contains the location and size information Json object"
    ,type:"Json"}},
{ 
    name:"pos",
    remark:"Get the position of the first"
    ,args:[],
ret:{ 
    name:"",
    remark:"such as:{left:123,top:456}"
    ,type:"Json"}},
{ 
    name:"offset",
    remark:"Get the offset of the first"
    ,args:[],
ret:{ 
    name:"",
    remark:"such as:{left:123,top:456}"
    ,type:"Json"}},
{ 
    name:"size",
    remark:"Get the size of the first"
    ,args:[],
ret:{ 
    name:"",
    remark:"such as:{width:123,height:456}"
    ,type:"Json"}},
{ 
    name:"blur",
    remark:"Remove the focus"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"focus",
    remark:"Set the focus"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"focusable",
    remark:"Detect whether the first element can get focus"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"tabbable",
    remark:"Detect whether the first element can accept Tab key"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"append",
    remark:"Add content for each element"
    ,args:[{ 
    name:"el",
    remark:"The additional concent"
    ,type:"Html/Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"appendTo",
    remark:"Add all the element to the specifield element"
    ,args:[{ 
    name:"to",
    remark:""
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"prepend",
    remark:"Start position will add additional content"
    ,args:[{ 
    name:"content",
    remark:"Additional content"
    ,type:"Element/String"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"prependTo",
    remark:"All elements will be appended to the beginning of the specified element"
    ,args:[{ 
    name:"to",
    remark:"The specified element"
    ,type:"Element"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"empty",
    remark:"Delete all the child nodes of each element."
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"disable",
    remark:"Each disabled element"
    ,args:[{ 
    name:"disabled",
    remark:"required) Are disabled"
    ,type:"Boolean(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"enable",
    remark:"Enable each element"
    ,args:[{ 
    name:"enable",
    remark:"required) Are enabled"
    ,type:"Boolean(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"hide",
    remark:"Hide each element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"show",
    remark:"Show each element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"map",
    remark:"Generate a new IList object"
    ,args:[{ 
    name:"evaluator",
    remark:"evaluator"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"any",
    remark:"Determine whether there is an element to fit the conditions, if you do not specify the conditions, will return the collection length"
    ,args:[{ 
    name:"predicate",
    remark:"A function that determine each item of the collection fit the conditions"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"all",
    remark:"Determine whether all elements of the sequence satisfies the condition, if collection do not specify the conditions, will return all elements."
    ,args:[{ 
    name:"predicate",
    remark:"Each element is used to detect the function satisfy the condition"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Boolean"}},
{ 
    name:"where",
    remark:"Query"
    ,args:[{ 
    name:"predicate",
    remark:"search condition"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"IList"}},
{ 
    name:"sum",
    remark:"Sum"
    ,args:[{ 
    name:"selector",
    remark:"required)   Get used to calculate the value of the element functions"
    ,type:"Function(not"},{ 
    name:"filter",
    remark:"required)   Filter out the function of elements involved in the calculation"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Number/String"}},
{ 
    name:"max",
    remark:"maximum"
    ,args:[{ 
    name:"selector",
    remark:"required) Get used to calculate the value of the element functions"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Number"}},
{ 
    name:"min",
    remark:"minimum"
    ,args:[{ 
    name:"selector",
    remark:"required) Get used to calculate the value of the element functions"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Number"}},
{ 
    name:"average",
    remark:"Averaging"
    ,args:[{ 
    name:"selector",
    remark:"required) Get used to calculate the value of the element functions"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Number"}},
{ 
    name:"count",
    remark:"Count"
    ,args:[{ 
    name:"selector",
    remark:"required) Get used to calculate the value of the element functions"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:"The number of elements to satisfy the conditions"
    ,type:"Int"}},
{ 
    name:"distinct",
    remark:"Removing repetitive elements"
    ,args:[{ 
    name:"comparer",
    remark:"required) The function to compare elements"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"groupBy",
    remark:"Grouping of elements"
    ,args:[{ 
    name:"keySelector",
    remark:"required) Get the key element for the group"
    ,type:"Function(not"},{ 
    name:"itemSelector",
    remark:"required) Get the content of group"
    ,type:"Function(not"}],
ret:{ 
    name:"",
    remark:"Json object  that contains group"
    ,type:"Json"}},
{ 
    name:"clear",
    remark:"clear all the elements"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"first",
    remark:"Get the first item"
    ,args:[{ 
    name:"predicate",
    remark:"Query condition"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Object"}},
{ 
    name:"last",
    remark:"Get the last item"
    ,args:[{ 
    name:"predicate",
    remark:"Query condition"
    ,type:"Function/String/Object"},{ 
    name:"params",
    remark:"required) Any number of variable parameters"
    ,type:"Object(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Object"}},
{ 
    name:"parent",
    remark:"Matches all elements of the parent element, corresponding to the selector “<”"
    ,args:[{ 
    name:"layersOrSelector",
    remark:"required) Up the series, or a particular selector，default 1"
    ,type:"Int/Selector(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"children",
    remark:"Matches all elements\'s child elements, corresponding to the selector “>”"
    ,args:[{ 
    name:"layers",
    remark:"required) Down the series，default 1"
    ,type:"Int(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"next",
    remark:"Match the elements after all the elements, corresponding to the selector “+”"
    ,args:[{ 
    name:"offset",
    remark:"required) Subsequent offset，default 1"
    ,type:"Int(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"previous",
    remark:"Match the elements before all the elements, corresponding to the selector “-”"
    ,args:[{ 
    name:"offset",
    remark:"required) Forward offset，default 1"
    ,type:"Int(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"sibling",
    remark:"Matches all sibling elements，corresponding to the selector “~”"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"hover",
    remark:"Add a mouse event for the element"
    ,args:[{ 
    name:"over",
    remark:"Performed when the mouse entered"
    ,type:"Function"},{ 
    name:"out",
    remark:"Performed when the mouse move out"
    ,type:"Function"}],
ret:{ 
    name:"",
    remark:""
    ,type:"this"}},
{ 
    name:"disabled",
    remark:"Get or set the \'disabled\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"id",
    remark:"Get or set the \'id\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"name",
    remark:"Get or set the \'name\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"title",
    remark:"Get or set the \'title\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"className",
    remark:"Get or set the \'className\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"text",
    remark:"Get or set the \'innerText\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"html",
    remark:"Get or set the \'innerHTML\' property of the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onBlur",
    remark:"Binding Onblur event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onFocus",
    remark:"Binding onfocus event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onLoad",
    remark:"Binding onload event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onResize",
    remark:"Binding onresize event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onScroll",
    remark:"Binding onscroll event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onUnload",
    remark:"Binding onunload event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onDblClick",
    remark:"Binding ondblclick event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onContextMenu",
    remark:"Binding oncontextmenu event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseDown",
    remark:"Binding onmouseDown event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseUp",
    remark:"Binding onmouseup event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseMove",
    remark:"Binding onmousemove event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseOver",
    remark:"Binding onmouseover event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseOut",
    remark:"Binding onmouseout event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseEnter",
    remark:"Binding onmouseenter event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onMouseLeave",
    remark:"Binding onmouseleave event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onChange",
    remark:"Binding onchange event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onSelect",
    remark:"Binding onselect event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onSelectStart",
    remark:"Binding onselectstart event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onSubmit",
    remark:"Binding onsubmit event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onKeyDown",
    remark:"Binding onkeydown event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onKeyPress",
    remark:"Binding onkeypress event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onKeyUp",
    remark:"Binding onkeyup event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}},
{ 
    name:"onError",
    remark:"Binding onerror event for the element"
    ,args:[],
ret:{ 
    name:"",
    remark:""
    ,type:""}}],
events:[]
},{ 
    name:"selector",
    remark:"Selector"
    ,path:"fly.ui.selector",
properties:[],
methods:[{ 
    name:"extendSelector",
    remark:"Extend Selector"
    ,args:[{ 
    name:"selectors",
    remark:"Selector"
    ,type:"Multiple"}],
ret:{ 
    name:"",
    remark:""
    ,type:"None"}},
{ 
    name:"extendFilter",
    remark:"Extend filter selector"
    ,args:[{ 
    name:"filters",
    remark:"Selector"
    ,type:"Multiple"}],
ret:{ 
    name:"",
    remark:""
    ,type:"None"}},
{ 
    name:"extendOperator",
    remark:"Extend expression and operator"
    ,args:[{ 
    name:"operators",
    remark:"{String} Multiple operator"
    ,type:""}],
ret:{ 
    name:"",
    remark:"无"
    ,type:""}}],
events:[]
},{ 
    name:"DomQuery",
    remark:"Dom  object query class"
    ,path:"fly.ui.selector.DomQuery",
properties:[],
methods:[{ 
    name:"find",
    remark:"Query Dom object"
    ,args:[],
ret:{ 
    name:"",
    remark:"Dom object to find"
    ,type:"Array"}},
{ 
    name:"closest",
    remark:"Matches all elements that match the first parent element with the expression"
    ,args:[{ 
    name:"selectors",
    remark:"required) Selector"
    ,type:"String(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"parent",
    remark:"Matches all elements that match the first parent element with the expression"
    ,args:[{ 
    name:"selectors",
    remark:"required) Selector"
    ,type:"String(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}},
{ 
    name:"parents",
    remark:"Matches all elements that match the first parent element with the expression"
    ,args:[{ 
    name:"selectors",
    remark:"required) Selector"
    ,type:"String(not"}],
ret:{ 
    name:"",
    remark:""
    ,type:"Array<Element>"}}],
events:[]
}]}